Spread spectrum communication techniques are robust to noise, allow for the use of low transmission power, and have a low probability of intercept. For such reasons, much of the early development of spread spectrum technology was performed by military researchers. Recently, however, the advantages of this technology have led to its increasing use for consumer applications as well: most notably, in advanced digital cellular telephone systems.
Whereas most other communication techniques modulate a carrier signal with one or more data signals alone, spread spectrum techniques also modulate the carrier with a pseudorandom noise or ‘pseudonoise’ (PN) signal. In the frequency-hopping variant of spread spectrum systems, the value of the PN signal at a particular instant determines the frequency of the transmitted signal, and thus the spectrum of the signal is spread. In the direct sequence spread spectrum (DSSS) variant, the bit rate of the PN signal (called the ‘chip rate’) is chosen to be higher than the bit rate of the information signal, such that when the carrier is modulated by both signals, its spectrum is spread.
Communication systems that support multiple individual signals over a single channel must employ some technique to make the various signals distinguishable at the receiver. In time-division multiple-access (TDMA) systems, the individual signals are transmitted in nonoverlapping intervals such that they are orthogonal (and thus separable) in time space. In frequency-division multiple-access (FDMA) systems, the signals are bandlimited and transmitted in nonoverlapping subchannels such that they are orthogonal in frequency space. In code-division multiple-access (CDMA) systems, the signals are spread through modulation by orthogonal or uncorrelated code sequences such that they are orthogonal or nearly orthogonal in code space and may be transmitted across the same channel at the same time while remaining distinguishable from each other at the receiver. An exemplary CDMA system is described in U.S. Pat. No. 4,901,307, entitled “SPREAD SPECTRUM MULTIPLE-ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS,” issued Feb. 13, 1990 and assigned to the assignee of the present invention.
In a CDMA DSSS system, then, each individual carrier signal is modulated by a data signal and a pseudonoise (PN) signal that is at least nearly orthogonal to the PN signals assigned to all other users, thus spreading the spectrum of the transmitted signal while rendering it distinguishable from the other users' signals. Before spreading and modulation onto the carrier, the data signal typically undergoes various encoding and interleaving operations designed, for example, to increase data redundancy and allow error correction at the receiver. The data signals may also be encrypted to provide extra security against eavesdroppers. The generation of CDMA signals in a spread spectrum communications system is disclosed in U.S. Pat. No. 5,103,459, issued Apr. 7, 1992, entitled “SYSTEM AND METHOD FOR GENERATING SIGNAL WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM,” assigned to the assignee of the present invention.
In order to spread the spectrum of the input data signal or signals, direct sequence spread spectrum systems typically use a variant of phase-shift keying (PSK), such as binary PSK (BPSK) or quadrature PSK (QPSK). In BPSK spreading, for example, the mapping of data input to spreading system output may be defined by the following complex relation:out—I—n+j×(out—Q—n)=(in—n×pn—I—n)+j×(in—n×pn—Q—n)∀n=1, 2, . . . , N,where in_n designates an input data signal; pn_I_n and pn_Q_n designate the corresponding pseudonoise sequences for the I and Q channels, respectively; out_I_n and out_Q_n designate the corresponding output I and Q components; j designates the square root of −1; N designates the number of input data signals to be modulated onto the carrier; and the various input signals, output components, and pseudonoise sequence elements may have values of +1 or −1. FIG. 1 shows a diagram for a BPSK spreader array that implements the relation above using two multipliers 10 and 20 as spreaders, and TABLE 1 shows the output values corresponding to the given range of inputs.
FIG. 2 shows a digital implementation of the circuit of FIG. 1 using two XOR gates 30 and 40 as spreaders (the uppercase-labeled digital signals in this figure correspond to the lowercase-labeled analog signals of the same name in FIG. 1). TABLE 3 shows the possible range of digital inputs and the corresponding digital output values for this spreader array (an exemplary analog-to-digital mapping is given in TABLE 2). As illustrated in FIG. 3, the spectrum of each of the output signals OUT_I_1 and OUT_Q_1 is described by a sinc function (i.e., sin(x)/x) having nodes at multiples of the chip rate.
TABLE 1in_npn_I_npn_Q_nout_I_nout_Q_n−1−1−1−1−1−1−1+1−1+1−1+1−1+1−1−1+1+1+1+1+1−1−1−1−1+1−1+1−1+1+1+1−1+1−1+1+1+1+1+1
TABLE 2Analog valueDigital representation−11+10
TABLE 3IN_nPN_I_nPN_Q_nOUT_I_nOUT_Q_n0000000101010100111110011101101100111100
FIG. 4 shows a circuit diagram for a BPSK spreading system implementing the spreading scheme above for N=2. (In this example, PN_I_1=PN_I_2=PN_I and PN_Q_1=PN_Q_2=PN_Q.) After being spread by spreader array 100 having XOR gates 110, 120, 130 and 140 as spreaders, each one-bit-wide input signal is transformed into a P-bit-wide signal by one of digital pulse-shaping filters 150, 160, 170, and 180, which limits the output signal's bandwidth to the chip rate. In an exemplary application, P is 11, although P may take on any value that provides a performance/complexity relation appropriate for the intended use. An ideal response for a pulse-shaping filter is shown in FIG. 5, where the x axis represents frequency normalized to the chip rate, and the y axis represents magnitude normalized to a peak value.
The most commonly used type of digital filter is the linear constant coefficient filter, which may be constructed to have a finite impulse response (FIR) or an infinite impulse response (IIR). An example block diagram for a generic three-tap finite-impulse-response (FIR) digital filter which implements the transfer functionH(z)=g0+g1z−1+g2z−2+g3z−3is displayed in FIG. 6, where D designates a delay element and G0 through G3 designate gain elements which may be implemented as constant multipliers whose factors are the coefficients go through g3.
An example block diagram (in direct form II) for a generic three-tap infinite-impulse-response (IIR) digital filter which implements the transfer function       H    ⁡          (      z      )        =                    ∑                  k          =          0                3            ⁢                        b          k                ⁢                  z                      -            k                                      1      -                        ∑                      k            =            1                    3                ⁢                              a            k                    ⁢                      z                          -              k                                          is displayed in FIG. 7, where D designates a delay element and A1 through A3 and B0 through B3 designate gain elements which may be implemented as constant multipliers whose factors are the coefficients a1 through a3 and b0 through b3, respectively. Respective properties and advantages of FIR and IIR filters, various other filter structures besides those displayed in FIGS. 6 and 7, and different methods of choosing the filter coefficients are discussed in such works as Electronic Filter Design Handbook, 2nd ed., A. B. Williams and F. J. Taylor, McGraw-Hill, New York, N.Y., 1988; section XVI of The Circuits and Filters Handbook, ed. by W.-K. Chen, CRC Press, Boca Raton, Fla., 1995; and Digital Filtering: an introduction, E. P. Cunningham, Houghton Mifflin, Boston, Mass., 1992.
In practice, the pulse-shaping filters will typically have a large number of taps in order to provide a sharp cutoff, usually at one-half of the chip rate. By way of example, a pulse-shaping FIR filter after the TR45 Mobile Station—Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular Systems (TIA/EIA/SP-3693 [to be published as TIA/EIA-95], TIA [Telecommunications Industry Association], Arlington, Va., 1997) has 48 taps, whose coefficients g0 through g47 are given in TABLE 4. The two-volume TR45 Standard referenced above specifies numerous aspects of an exemplary CDMA DSSS application whose performance may be improved through the use of the present invention.
TABLE 4ngn0, 47−0.0252883151, 46−0.0341679312, 45−0.0357523233, 44−0.0167337024, 430.0216025145, 420.0649384876, 410.0910021377, 400.0818949748, 390.0370711579, 38−0.02199807410, 37−0.06071627711, 36−0.05117865812, 350.00787452613, 340.08436872814, 330.12686930615, 320.09452834516, 31−0.01283966117, 30−0.14347702818, 29−0.21182908819, 28−0.14051312820, 270.09460191821, 260.44138714022, 250.78587564023, 241.0
After filtering, the digital signals may be gain-adjusted (not shown) before conversion to analog by a digital-to-analog converter (not shown). Examples of such steps are described in, e.g., U.S. Pat. No. 5,103,459 referenced above. Then the analog signals corresponding to the various OUT_I_n are summed to create the in-phase component of the transmitter output, and the analog signals corresponding to the various OUT_Q_n are summed to create the quadrature output.
Note that in this BPSK implementation, the paths of the various input data signals do not coincide until after the signals have been converted into analog. Specifically, each signal outputted by the spreading system is based on only one data signal. Therefore, one data signal may be processed differently from another either before or after BPSK spreading.
In other PSK modulation schemes, however, each spread signal outputted by the spreading system may be based on more than one data signal. Consequently, when using existing spreading systems for such schemes, any separate processing of the data signals must be performed before spreading. In a case where the separate processing operation increases the complexity of the data signal (for example, by increasing the width of the data signal in bits), the resulting increase in the complexity of the spreading system that may be required may render the desired implementation impracticable. It is desirable to obtain a practical spreading system that enables such processing to be performed.